package org.luckyjourney.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResidentConsultant implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @NotBlank(message = "姓名不能为空")
    @ApiModelProperty("姓名")
    private String name;

    // @NotBlank(message = "性别不能为空")
    @ApiModelProperty("性别")
    private Integer sex;

    @NotBlank(message = "出生年月不能为空")
    @ApiModelProperty("出生年月")
    private String birthDate;

    @NotBlank(message = "身份证地址不能为空")
    @ApiModelProperty("身份证地址")
    private String address;

    @NotBlank(message = "身份证号不能为空")
    @ApiModelProperty("身份证号")
    private String idNumber;

    @NotBlank(message = "省不能为空")
    @ApiModelProperty("省")
    private String province;

    @NotBlank(message = "区不能为空")
    @ApiModelProperty("区")
    private String area;

    @NotBlank(message = "市不能为空")
    @ApiModelProperty("市")
    private String city;

    @NotBlank(message = "详细地址不能为空")
    @ApiModelProperty("详细地址")
    private String fullAddress;

    @ApiModelProperty("手机号")
    private String phone;

    @ApiModelProperty("申请状态/0待审核1已通过2未通过")
    private Integer status;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("证书")
    private Integer certificate;

    @ApiModelProperty("头像")
    private Integer avatar;
    @ApiModelProperty("身份证反面")
    private Integer reverseSide;
    @ApiModelProperty("身份证正面")
    private Integer front;
    @ApiModelProperty("拒绝原因")
    private String reasonRejection;

}
